package com.ruoyi.tcp.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseModel;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.time.LocalDateTime;

/**
 * AI摄像头对象 wvp_surveillance
 *
 * @author ruoyi
 * @date 2024-07-20
 */
@Schema(description = "AI摄像头对象")
@TableName("wvp_surveillance")
@Setter
@Getter
@ToString
public class Surveillance extends BaseModel {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @Schema(title = "主键")
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /**
     * 设备序列号
     */
    @Schema(title = "设备序列号")
    @Excel(name = "设备序列号")
    @NotBlank
    private String serialNumber;
    /**
     * 设备编号
     */
    @Schema(title = "设备编号")
    @Excel(name = "设备编号")
    @NotBlank
    private String deviceNumber;


    @Excel(name = "设备状态")
    @TableField(exist = false)
    private String deviceStatusStr;

    /**
     * 省份名称
     */
    @Schema(title = "省份名称")
    private String proviceName;
    /**
     * 省份编码
     */
    @Schema(title = "省份编码")
    private String proviceCode;
    /**
     * 市名称
     */
    @Schema(title = "市名称")
//    @Excel(name = "城市")
    private String cityName;
    /**
     * 市编号
     */
    @Schema(title = "市编号")
    private String cityCode;
    /**
     * 区名称
     */
    @Schema(title = "区域")
    @Excel(name = "区域")
    @NotBlank
    private String areaName;

    @Schema(title = "街道")
    @Excel(name = "街道")
    @NotBlank
    private String streetName;

    /**
     * 区编码
     */
    @Schema(title = "区编码")
    private String areaCode;

    @Schema(title = "社区")
    @Excel(name = "社区名称")
    @NotBlank
    private String community;


    /**
     * 小区名称
     */
    @Schema(title = "小区名称")
    @Excel(name = "小区名称")
    @NotBlank
    private String residentialName;

    /**
     * 地址
     */
    @Schema(title = "地址")
    private String address;

    /**
     * 设备名称
     */
    @Schema(title = "投放地点名称")
    @Excel(name = "投放地点名称")
    @NotBlank
    private String deviceName;

    /**
     * 社区
     */


    @Schema(title = "街道")
    private String streetCode;

    /**
     * ip地址
     */
    @Schema(title = "ip地址")
    private String ip;
    /**
     * 物理地址
     */
    @Schema(title = "物理地址")
    private String macAddress;
    /**
     * 设备品牌
     */
    @Schema(title = "设备品牌")
    @Excel(name = "设备品牌")
    @NotBlank
    private String deviceBrand;
    /**
     * 设备型号
     */
    @Schema(title = "设备型号")
    @Excel(name = "设备型号")
    @NotBlank
    private String deviceModel;
    /**
     * 设备状态 1 在线 0 离线
     */
    @Schema(title = "设备状态")
    private Integer deviceStatus;


    /**
     * 设备最后推送时间
     */
    @Schema(title = "设备最后推送时间")
//    @Excel(name = "设备最后推送时间",dateFormat = "yyyy/MM/dd HH:mm:ss")
    private LocalDateTime lastPushTime;

    @Schema(title = "备注")
    @Excel(name = "备注")
    private String remark;

    //*社区id*/
    private String communityCode;
    /*小区ID*/
    private String residentialCode;

    @TableField(exist = false)
    private String startTime;
    @TableField(exist = false)
    private String stopTime;

}
